﻿using ReadAndWrite;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace Logging.Entities
{
    public class TRACE_APPLICATION : ISerializableCSV
    {
        public string UTILISATEUR_CONNECTE { get; set; }
        public string UTILISATEUR { get; set; }
        public string MACHINE { get; set; }
        public string NOM_APPLICATION { get; set; }
        public string ECRAN { get; set; }
        public string EMAIL { get; set; }
        public string DATE_HEURE { get; set; }
        public string NIVEAU { get; set; }
        public string IDENTIFIANT { get; set; }
        public string DETAIL_MESSAGE { get; set; }

        #region ISerializableCSV Membres

        public List<object> exposeAttributes()
        {
            List<object> l = new List<object>();
            l.Add(UTILISATEUR_CONNECTE);
            l.Add(UTILISATEUR);
            l.Add(MACHINE);
            l.Add(NOM_APPLICATION);
            l.Add(ECRAN);
            l.Add(EMAIL);
            l.Add(DATE_HEURE);
            l.Add(NIVEAU);
            l.Add(IDENTIFIANT);
            l.Add(DETAIL_MESSAGE);
            return l;
        }

        /// <summary>
        /// Non utilisé. 
        /// Sert pour le chargement d'entité sérialisé en CSV.
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public bool importAttributes(string[] data)
        {
            return true;
        }


        public string exposeHeader(string separateur)
        {
            return "UTILISATEUR_CONNECTE" + separateur + "UTILISATEUR" + separateur + "MACHINE" + separateur + "NOM APPLICATION " + separateur + "ECRAN" + separateur + "EMAIL" + separateur + "DATE_HEURE" + separateur + "NIVEAU" + separateur + "IDENTIFIANT" + separateur + "DETAIL_MESSAGE";
        }

        #endregion
    }
}
